/*
 * Powered By XY
 * Since 2020
 */

package com.xy.biz.xd.manager;


import com.xy.biz.xd.domain.bo.DocumentReleaseCheckBO;
import com.xy.biz.xd.domain.query.DocumentReleaseCheckQuery;
import com.xy.biz.xd.domain.query.DocumentReleaseQuery;

import java.util.Collection;
import java.util.List;
import java.util.Set;

/**
 * @author Greekn Zhang
 * @date 2021/5/26 10:06
 */
public interface DocumentReleaseCheckManager {


    /**
     * 保存
     *
     * @param documentReleaseCheckBO
     */
    int saveDocumentReleaseCheck(DocumentReleaseCheckBO documentReleaseCheckBO);
    /**
     * 保存多个
     *
     * @param collection
     */
    int saveAllDocumentReleaseCheck(Collection<DocumentReleaseCheckBO> collection);
    /**
     * 查找一个
     *
     * @param documentReleaseCheckId
     * @return
     */
    DocumentReleaseCheckBO getDocumentReleaseCheck(Long documentReleaseCheckId);

    /**
     * 查找一个
     *
     * @param documentReleaseCheckBO
     * @return
     */
    DocumentReleaseCheckBO getDocumentReleaseCheck(DocumentReleaseCheckBO documentReleaseCheckBO);

    /**
     * 查找多条
     *
     * @param collection
     * @return
     */
    List<DocumentReleaseCheckBO> listDocumentReleaseCheckById(Collection<Long> collection);

    /**
     * 查找多条
     *
     * @param collection
     * @return
     */
    List<DocumentReleaseCheckBO> listDocumentReleaseCheckByReleaseId(Collection<Long> collection);

    List<DocumentReleaseCheckBO> listDocumentReleaseCheckByRepositoryIdAndSourceFolderId(DocumentReleaseCheckQuery query);
    /**
     * 查询当前用户的签收列表
     * @param repositoryId
     * @param collect  releaseId
     * @return
     */
    List<DocumentReleaseCheckBO> listDocumentReleaseCheckByRepositoryIdAndDocumentReleaseId(Long repositoryId, Set<Long> collect);
    /**
     * 查找一个
     *
     * @param documentReleaseIds
     * @return
     */
    int deleteDocumentReleaseCheckByDocumentReleaseId(Collection<Long> documentReleaseIds);
}
